[프론트엔드 인터뷰]FE-Study 3주차 2회

JavaScript와 관련하여 same-origin 정책을 설명하세요.

same-origin 정책은 JavaScript 도메인 경계를 넘어서 요청하는 것을 방지합니다. origin은 URI체계, 호스트 이름, 포트 버호의 조합으로 정의됩니다. 이 정책은 한 페이지의 악의적인 스크립트가 해당 페이지의 DOM을 통해 다른 웹 페이지의 중요한 데이터에 접근하는 것을 방지합니다.

즉 동일 출처 정책(same-origin 정책)은 웹 브라우저 보안을 위해 http 프로토콜, 호스트, 포트가 동일한 서버로만 ajax요청을 주고 받을 수 있도록 한 정책이다.

다음을 작동하게 만들어보세요

duplicate([1, 2, 3, 4, 5]) // [1,2,3,4,5,1,2,3,4,5]
function duplicate(arr) {
  return arr.concat(arr)
}

duplicate([1, 2, 3, 4, 5]) //[1,2,3,4,5,1,2,3,4,5]

왜 Ternary expression이라고 부르고, “Ternary”라는 단어는 무엇을 나타내나요?

삼항연산자는 (조건) ? {참이면 실행} : {거짓이면 실행} 으로 표현하고, Ternary는 “셋으로 이루어졌다는 뜻” 입니다.

“use strict”은 무엇인가요? 사용시 장단점이 무엇인가요?

“use strict는 전체 스크립트나 개별 함수에 엄격 모드를 사용하는데 사용되는 명령문입니다. Strict 모드는 JavaScript의 다양한 자바스크립트를 제한하는 방법입니다.

장점

  • 실수로 전역변수를 만드는 것이 불가능 합니다.
  • 암묵적으로 실패한 예외를 throw하지 못하는 할당을 만듭니다.
  • 삭제할 수 없는 속성을 삭제하려고 시도합니다.
  • 함수의 매개변수 이름은 고유해야합니다.
  • this는 전역 컨테스트에서 undefined입니다.
  • 예외를 발생시키는 몇 가지 일반적인 코딩을 잡아냅니다.
  • 헷갈리거나 잘 모르는 기능을 사용할 수 없게 합니다.

단점

100까지 증가하면서 3의 배수에는 fizz를 출력하고, 5의 배수에는 buzz를 출력하고, 3과 5의 배수에는 fizzbuzz를 출력하는 for loop를 만드세요.

for (let i = 1; i <= 100; i++) {
  let f = i % 3 == 0,
    b = i % 5 == 0
  console.log(f ? (b ? 'FizzBuzz' : 'Fizz') : b ? 'Buzz' : i)
}